#pragma once

class ServerSession;
struct MSG_BASE;

#define Handler_CG_GUILD_DECL( p )			static VOID On##p( ServerSession * pServerSession, MSG_BASE * pRecvMsg, WORD wSize )
#define Handler_CG_GUILD_IMPL( p )			VOID Handler_CG_GUILD::On##p( ServerSession * pServerSession, MSG_BASE * pRecvMsg, WORD wSize )

class Handler_CG_GUILD
{
public:
	Handler_CG_GUILD(void){}
	~Handler_CG_GUILD(void){}

	Handler_CG_GUILD_DECL( CG_GUILD_SELECT_SYN );
	Handler_CG_GUILD_DECL( CG_GUILD_CREATE_SYN );
	Handler_CG_GUILD_DECL( CG_GUILD_DESTROY_SYN );
	Handler_CG_GUILD_DECL( CG_GUILD_INVITE_SYN );
	Handler_CG_GUILD_DECL( CG_GUILD_INVITE_ACCEPT_SYN );
	Handler_CG_GUILD_DECL( CG_GUILD_INVITE_REJECT_SYN );

	Handler_CG_GUILD_DECL( CG_GUILD_WITHDRAW_SYN );
	Handler_CG_GUILD_DECL( CG_GUILD_TRANSFER_POSITION_SYN );
	Handler_CG_GUILD_DECL( CG_GUILD_GRANT_LOW_POSITION_SYN );
	Handler_CG_GUILD_DECL( CG_GUILD_DROP_LOW_POSITION_SYN );
};
